package com.jiangyao.controller;

import com.jiangyao.common.ApiResult;
import com.jiangyao.model.dto.backend.OrgClassApplyDTO;
import com.jiangyao.model.dto.backend.OrgClassApplyListDTO;
import com.jiangyao.model.vo.backend.OrgClassApplyListVO;
import com.jiangyao.service.OrgClassApplyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * <p>
 * 成员申请 前端控制器
 * </p>
 *
 * @author yangyongchuan
 * @create: 2020年08月16日 21:06
 */
@RestController
@RequestMapping("/orgClassApply")
@Api(tags = "组织管理-成员申请")
public class OrgClassApplyController extends BaseController {

	@Autowired
	private OrgClassApplyService orgClassApplyService;

	/**
	 * 获取申请列表
	 *
	 * @param listPageDTO 列表DTO
	 * @return 结果
	 */
	@ApiOperation(value = "获取申请列表")
	@PostMapping("/list")
	public ApiResult<OrgClassApplyListVO> getListPage(@Validated({OrgClassApplyListDTO.ListPage.class}) @RequestBody OrgClassApplyListDTO listPageDTO) {
		return ApiResult.success(orgClassApplyService.getListPage(listPageDTO));
	}


	/**
	 * 审核
	 *
	 * @param applyDTO 审核DTO
	 * @return 结果
	 */
	@ApiOperation(value = "审核（同意、拒绝）")
	@PostMapping("/audit")
	public ApiResult<String> doAudit(@Validated({OrgClassApplyDTO.Edit.class}) @RequestBody OrgClassApplyDTO applyDTO) {
		orgClassApplyService.doAudit(applyDTO);
		return new ApiResult<>("ok");
	}

}
